package com.ruoyi.system.service;

import java.util.List;
import com.ruoyi.system.domain.Approval;
import com.ruoyi.system.domain.SysUser;

/**
 * 审批Service接口
 * 
 * @author ruoyi
 * @date 2020-04-10
 */
public interface IApprovalService 
{
    /**
     * 查询审批
     * 
     * @param id 审批ID
     * @return 审批
     */
    public Approval selectApprovalById(Long id);

    /**
     * 查询审批列表
     * 
     * @param approval 审批
     * @param sysUser
     * @return 审批集合
     */
    public List<Approval> selectApprovalList(Approval approval, SysUser sysUser);

    /**
     * 新增审批
     * 
     * @param approval 审批
     * @return 结果
     */
    public int insertApproval(Approval approval);

    /**
     * 修改审批
     * 
     * @param approval 审批
     * @return 结果
     */
    public int updateApproval(Approval approval);

    /**
     * 批量删除审批
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteApprovalByIds(String ids);

    /**
     * 删除审批信息
     * 
     * @param id 审批ID
     * @return 结果
     */
    public int deleteApprovalById(Long id);

    void audit(Long id, Integer auditState, String remark, SysUser sysUser);
}
